#pragma once
#include "Fysics/Dependencies.h"

namespace Fysics
{
	enum class ShaderType
	{
		NONE = -1,
		VERTEX,
		FRAGMENT
	};

	class Shader
	{
	protected:
		ShaderType m_Type;		

	public:
		Shader(ShaderType type)
			:  m_Type(type) {}
		virtual ~Shader() {}

		ShaderType GetType() const { return m_Type; }

		virtual void Delete() = 0;

		static Shader* Create(const std::string& srcCode, ShaderType type);
	};
}